Entry Processors এবং Aggregations

Database Tutorials - হ্যাজেলকাস্ট  (Hazelcast) Hazelcast Query এবং Indexing |
294
294

Hazelcast-এ Entry Processors এবং Aggregations দুটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ডিস্ট্রিবিউটেড ডেটা স্ট্রাকচার (যেমন IMap, IQueue, ইত্যাদি) এর উপর কার্যকরী অপারেশন প্রয়োগ করতে সহায়ক। এই দুটি ফিচার ডেটার সাথে একাধিক সঞ্চালন (operations) পরিচালনা করতে এবং ক্লাস্টারে ডেটার পারফরম্যান্স উন্নত করতে ব্যবহৃত হয়।


Entry Processors

Entry Processor হল একটি Hazelcast ফিচার যা distributed map (যেমন IMap) এর প্রতিটি এন্ট্রির উপর অপারেশন বা পরিবর্তন প্রয়োগ করতে ব্যবহৃত হয়। এটি ডিস্ট্রিবিউটেড ক্লাস্টারে থাকা প্রতিটি এন্ট্রির উপর অ্যাটমিক অপারেশন প্রয়োগ করতে সহায়ক, যার ফলে বিভিন্ন নোডে ডেটার অবস্থান পরিবর্তন করার জন্য কম নেটওয়ার্ক ট্রাফিক সৃষ্টি হয়।

Entry Processor এর সুবিধা

  1. অ্যাটমিক অপারেশন: Entry Processor একটি অ্যাটমিক অপারেশন প্রয়োগ করে, অর্থাৎ, একাধিক অপারেশন একযোগে প্রয়োগ করা হয় এবং সেগুলো পরস্পরের সাথে সামঞ্জস্যপূর্ণ থাকে।
  2. পারফরম্যান্স বৃদ্ধি: নেটওয়ার্কে অতিরিক্ত ট্রাফিক পাঠানোর প্রয়োজন ছাড়াই ক্লাস্টারের মধ্যে ডেটার আপডেট করা যায়।
  3. ডিস্ট্রিবিউটেড প্রসেসিং: Entry Processor ব্যবহার করে আপনি ক্লাস্টারের প্রত্যেকটি নোডে একযোগে অপারেশন প্রয়োগ করতে পারেন।

Entry Processor ব্যবহার উদাহরণ

ধরা যাক, আপনি একটি IMap এর map.put() বা map.update() অপারেশন করতে চান, যেখানে ক্লাস্টারের নোডগুলোতে প্রক্রিয়া একযোগে চালানো হবে। উদাহরণস্বরূপ:

import com.hazelcast.map.EntryProcessor;
import com.hazelcast.core.MapEntry;
import java.util.Map;

public class CustomEntryProcessor implements EntryProcessor<String, Integer, Integer> {

    @Override
    public Integer process(Map.Entry<String, Integer> entry) {
        // কাস্টম লজিক: বর্তমান মানের উপর একটি ইনক্রিমেন্ট প্রয়োগ
        Integer currentValue = entry.getValue();
        Integer newValue = currentValue + 1;
        entry.setValue(newValue); // নতুন মান সেট করা
        return newValue;
    }
}

এই EntryProcessor ক্লাসটি IMap এর প্রতিটি এন্ট্রি (যেমন String কীগুলির জন্য Integer ভ্যালু) এর উপর ইনক্রিমেন্ট অপারেশন করবে।

IMap<String, Integer> map = hz.getMap("exampleMap");
map.executeOnEntries(new CustomEntryProcessor());

এখানে executeOnEntries পদ্ধতি দ্বারা পুরো IMap-এ EntryProcessor কার্যকর করা হচ্ছে।


Aggregations

Aggregation হল একটি ডেটা প্রসেসিং প্যাটার্ন যা ক্লাস্টারে থাকা ডেটার উপর বিভিন্ন পরিসংখ্যানিক বা গণনামূলক ফলাফল সংগ্রহ করতে ব্যবহৃত হয়। Hazecast-এর ডিস্ট্রিবিউটেড ডেটা স্ট্রাকচারগুলিতে (যেমন IMap) বিভিন্ন ধরনের অ্যাগ্রিগেশন অপারেশন প্রয়োগ করা যায়, যেমন sum, average, count, ইত্যাদি।

Hazelcast-এ Aggregations সাধারণত EntryProcessor এর মাধ্যমে করা হয় এবং এটি ব্যবহারকারীকে ডিস্ট্রিবিউটেড ডেটা এর উপর অপারেশন করার সুবিধা দেয়।

Aggregation এর ব্যবহার উদাহরণ

ধরা যাক, আপনি একটি IMap এর সমস্ত মানের যোগফল হিসাব করতে চান:

import com.hazelcast.map.EntryProcessor;
import java.util.Map;

public class SumEntryProcessor implements EntryProcessor<String, Integer, Integer> {

    private int sum = 0;

    @Override
    public Integer process(Map.Entry<String, Integer> entry) {
        sum += entry.getValue(); // মান যোগ করা
        return sum;
    }

    public int getSum() {
        return sum;
    }
}

এই EntryProcessor ক্লাসটি IMap এর সমস্ত Integer মান যোগ করবে।

IMap<String, Integer> map = hz.getMap("exampleMap");
SumEntryProcessor processor = new SumEntryProcessor();
map.executeOnEntries(processor);
System.out.println("Total sum: " + processor.getSum());

এখানে, executeOnEntries পদ্ধতি দ্বারা IMap এর প্রতিটি এন্ট্রির উপর EntryProcessor প্রয়োগ করা হয় এবং পুরো মানের যোগফল হিসাব করা হয়।


Entry Processors এবং Aggregations এর মধ্যে পার্থক্য

বৈশিষ্ট্যEntry ProcessorAggregation
কাজএক বা একাধিক এন্ট্রির উপর কাস্টম প্রক্রিয়া প্রয়োগডেটা স্ট্রাকচারের উপর পরিসংখ্যানিক বা গণনামূলক অপারেশন
লক্ষ্যঅ্যাটমিক অপারেশনগুলির মাধ্যমে ডেটা আপডেট করাডেটার উপর অ্যাগ্রিগেটেড ফলাফল গণনা করা
ব্যবহারএকটি নির্দিষ্ট এন্ট্রি পরিবর্তন করাএকাধিক এন্ট্রি বা মানের উপর গণনা বা পরিসংখ্যান বের করা
পারফরম্যান্সনেটওয়ার্কে কম ট্রাফিক, দ্রুত আপডেটডিস্ট্রিবিউটেড ডেটা প্রসেসিং, পারফরম্যান্স টিউনিং

সারাংশ

Entry Processors এবং Aggregations দুটি শক্তিশালী বৈশিষ্ট্য যা Hazelcast-এ ডিস্ট্রিবিউটেড ডেটা স্ট্রাকচারের উপর কার্যকরী এবং পরিসংখ্যানিক অপারেশন প্রয়োগ করতে ব্যবহৃত হয়। Entry Processors ডেটার অ্যাটমিক পরিবর্তন এবং অপারেশন করতে সাহায্য করে, এবং Aggregations ডিস্ট্রিবিউটেড ডেটা থেকে পরিসংখ্যানিক ফলাফল সংগ্রহ করতে ব্যবহৃত হয়। এগুলি ব্যবহার করে আপনি ডিস্ট্রিবিউটেড সিস্টেমে কার্যকরী এবং উচ্চ পারফরম্যান্স অপারেশন করতে পারেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion